#include "bezierparametrica.h"

#include<QDebug>

BezierParametrica::BezierParametrica()
{
}

double BezierParametrica::calculaValorFuncaoX(double parametro, QVector<Ponto> pontosReferencia) {
    Ponto p0 = pontosReferencia[0];
    Ponto p1 = pontosReferencia[1];
    Ponto p2 = pontosReferencia[2];
    Ponto p3 = pontosReferencia[3];

    return (1-parametro)*(1-parametro)*(1-parametro)*p0.x()+
            3*(1-parametro)*(1-parametro)*parametro*p1.x()+
            3*(1-parametro)*parametro*parametro*p2.x()+
            parametro*parametro*parametro*p3.x();
}

double BezierParametrica::calculaValorFuncaoY(double parametro, QVector<Ponto> pontosReferencia) {
    Ponto p0 = pontosReferencia[0];
    Ponto p1 = pontosReferencia[1];
    Ponto p2 = pontosReferencia[2];
    Ponto p3 = pontosReferencia[3];

/*    qDebug() << ((1-parametro)*(1-parametro)*(1-parametro)*p0.y()+
            3*(1-parametro)*(1-parametro)*parametro*p1.y()+
            3*(1-parametro)*parametro*parametro*p2.y()+
            parametro*parametro*parametro*p3.y())*50;
*/
    return (1-parametro)*(1-parametro)*(1-parametro)*p0.y()+
            3*(1-parametro)*(1-parametro)*parametro*p1.y()+
            3*(1-parametro)*parametro*parametro*p2.y()+
            parametro*parametro*parametro*p3.y();
}
